Gaeseong (, hanja 開城特級市, McCune–Reischauer Kaesŏng-t’ŭkkŭpsi) on erityiskaupunki Korean demokraattisen kansantasavallan Pohjois-Hwanghaen maakunnassa. Aiemmin se oli Pjongjangin tavoin suoraan keskushallinnon alaisuudessa oleva kaupunki. Vuoden 2008 väestönlaskennan mukaan siellä oli 308 440 asukasta.
Gaeseong toimi Taebong-kuningaskunnan ja Goryeo-dynastian aikana Korean pääkaupunkina. Se sijaitsee lähellä Etelä-Korean rajaa ja Gaeseongin teollisuusaluetta.
Gaeseong sijaitsee läntisen rannikon alamaalla. Ahobiryongvuorten eteläosa alkaa kohota Gaeseongin lounaispuolella. Gaeseongin korkein vuori on 778 metrin korkeuteen kohoava Moji ja muita merkittäviä vuoria ovat Songkak (490 m), Jinbong (310 m) ja Kunjang (277 m). Lännessä kaupunki rajoittuu Ryesongjokeen, lounaassa Hanjokeen ja kaakossa Rimjinjokeen. Tammikuun keskilämpötila on -4,1 °C ja elokuun 24,2 °C. Keskimääräinen vuosittainen sadanta on 1 264,9 mm.